// pages/paper/index.js
var app=getApp();
import {
  queryArticleItemAll
} from '../../../services/article/article';

import {
  submit
} from '../../../services/exam/exam';

import {
  baseUrl
} from '../../../config/index'
import Message from 'tdesign-miniprogram/message/index';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    imageSrc: 'https://tdesign.gtimg.com/mobile/demos/image1.jpeg',
    id: 0,
    pid:0,
    percentage: 0,
    current: 0,
    total: 10,
    content: "暂未识别",
    articleItemList: [],
    preShow: false,
    nextShow: true,
    articleData: {
      id: 1,
      pid: 1,
      url: "",
      content: ""
    },
    img1: 'https://tdesign.gtimg.com/mobile/demos/example1.png',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // console.log("文章详情页 article/details/index");
    // this.setData({
    //   id: spuId,
    // });
    // 这边得根据id来获取 合集内容
    const {
      id
    } = options
    this.setData({
      pid:id
    })
    queryArticleItemAll({
      pid: id
    }).then(res => {
      this.setData({
        articleItemList: res.data.data,
        total: res.data.data.length
      })
      this.updateData(0)
    }).catch(error => {
      Toast({
        context: this,
        selector: '#t-toast',
        message: '网络发生错误',
        icon: '',
        duration: 1000,
      });
    })
  },
  // 点击了上一个按钮
  pre() {
    console.log("article-detail 点击了上一个按钮");
    if (this.data.current <= 0) {
      // 如果已经到 0 的话，则不进行任何处理
      return
    }
    // 如果没有到第一个的话，则进行数据切换
    this.updateData(this.data.current - 1)
  },
  next() {
    console.log("article-detail 点击了下一个按钮");
    // 已经是最后一个了
    if (this.data.current >= this.data.articleItemList.length - 1) {
      return
    }
    // 如果没有到最后一个的话，则进行数据切换
    this.updateData(this.data.current + 1)
  },
  updateData(index) {
    // console.log(index);
    // console.log((index + 1) / this.data.total * 100.0);
    this.setData({
      current: index,
      articleData: this.data.articleItemList[index],
      percentage: (index + 1) / this.data.total * 100.0
    })
    this.updateStatus()
  },
  updateStatus() {
    this.setData({
      nextShow: true,
      preShow: true,
    })
    if (this.data.current <= 0) {
      this.setData({
        preShow: false,
      })
    }
    if (this.data.current >= this.data.articleItemList.length - 1) {
      this.setData({
        nextShow: false
      })
    }
  },
  async submitExam(e) {
    console.log("提交试卷信息");
    console.log(this.data.pid);
    const data= await submit({
      id:this.data.pid
    }).then(res=>{
      Message.success({
        context: this,
        offset: [20, 32],
        duration: 2000,
        content: res.data.data,
      });
      return res;
    }).catch(error=>{
      Message.error({
        context: this,
        offset: [20, 32],
        duration: 5000,
        content: error,
      });
    })
    // 提交完试卷
    wx.navigateBack({})
    // wx.navigateTo({
    //   url: `/pages/index/index`
    // });
    console.log("正在跳转");

  },
  ontouchstart(e) {
    this.setData({
      content: "正在录音....."
    })
    console.log(e);

    // this.timeStart = e.timeStamp
    // this.falgVoice = true
    // this.$refs.popupShare.open()
    const options = {
      // duration: 60000,//指定录音的时长，单位 ms
      sampleRate: 16000, //采样率
      numberOfChannels: 1, //录音通道数
      encodeBitRate: 96000, //编码码率
      format: 'mp3', //音频格式，有效值 aac/mp3
      frameSize: 50, //指定帧大小，单位 KB
    }

    wx.getRecorderManager().start(options); //开始录音
    wx.getRecorderManager().onStart(() => {
      console.log('recorder start')
    });
    //错误回调
    wx.getRecorderManager().onError((res) => {
      console.log(res);
    })

  },
  ontouchend(e) {
    // this.timeEnd = e.timeStamp
    // this.timeLong = this.timeEnd - this.timeStart
    // uni.showLoading({
    //   title: '正在识别……',
    //   mask: true
    // });
    var that = this
    this.setData({
      content: "正在识别....."
    })
    // this.voiceflag = false
    // this.$refs.popupShare.close()
    wx.getRecorderManager().stop();
    wx.getRecorderManager().onStop(result => {
      let filePath = result.tempFilePath; //获取文件地址
      console.log("语音识别文件");
      console.log(filePath);
      console.log("用户id");
      console.log(app.globalData.uid);
      wx.uploadFile({
        url: baseUrl + "ai/chat",
        filePath: filePath,
        name: 'file',
        formData: {
          id: this.data.articleData.id,
          uid: Number(app.globalData.uid),
        },
        success: function (res) {
          const data = JSON.parse(res.data)
          console.log(data);
          that.setData({
            content: "识别内容为：" + data.data.content + "\n 得分为: " + data.data.score
          })
          // resolve(data.data);
          // do something
        },
        fail: function (error) {
          // reject({
          //   errMsg: '上传失败'
          // });
        }
      })

      // wx.uploadFile({
      //   // 需要上传的地址
      //   url: $C.webUrl + 'uploadVoice',
      //   filePath: filePath,
      //   name: 'file',
      //   success: (res) => {
      //     let mydata = JSON.parse(res.data)
      //     if (mydata.code === 0) {
      //       this.$http.post('voiceWord', {
      //         url: mydata.data.url
      //       }).then(res => {
      //         console.log(res)
      //         if (res[1].data.code == 0) {
      //           this.keyword = res[1].data.data.word
      //           uni.hideLoading()
      //         } else {
      //           uni.hideLoading()
      //           uni.showToast({
      //             title: '文字识别失败！',
      //             icon: 'none'
      //           });
      //         }
      //       })
      //     }
      //   },
      //   fail: (res) => {
      //     uni.hideLoading()
      //     uni.showToast({
      //       title: '文字识别失败',
      //       icon: 'none'
      //     });
      //   },
      // })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})